/* Использование LCD функций низкого уровня для дисплеев с вплоть 
   до 2x40 символов */

/* Используется LCD 2x16, микроконтроллер AT90S2313.
   Схема подключения см. рис. 375 */ 

/* Выведем изображение курсора в виде мигающего знакоместа в нулевую
   позицию дисплея */

#include <90s2313.h> 	// подключаем  заголовочный файл используемого 
					// микроконтроллера AVR
 
/* Перед подключением файла lcd.h, объявим порт, используемый 
   для подключения модуля LCD */

/* Используем Порт B микроконтроллера AT90S2313 
   Адрес порта находим в файле 90s2313.h в строке: sfrb PORTB=0x18; */
#asm
.equ __lcd_port=0x18
#endasm
 
/* Теперь, перед использованием LCD функций для дисплеев с вплоть 
   до 2x40 символов, подключим заголовочный файл lcd.h */ 
#include <lcd.h>

/* Основная функция программы */ 

void main(void) 
{
_lcd_ready();		// ждем, пока модуль LCD не будет готов 
// принять данные
_lcd_write_data(0x01); 	// очищаем экран
_lcd_write_data(0x02); 	// устанавливаем курсор в нулевую позицию
 				// дисплея
_lcd_write_data(0x0f); 	// Включаем экран, включаем курсор, 
// изображение курсора делаем в виде мигающего 
// знакоместа (см. табл. 62-64, стр. 479)
		while (1); 			// заканчиваем программу бесконечным циклом 
}
